{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww11800\viewh14880\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\fs24 \cf0 \
\
\
class tropeType\
\{\
	enum BUILT_IN_TYPE,  USER_TYPE,  FUNCTION_TYPE, TYPE_TYPE\
\};\
\
class builtInType : public tropeType\
\{\
	enum FLOAT, INT, BOOL\
\}\
\
class userType : public tropeType\
\{\
	name\
	dictionary of methods;\
	dictionary of variables;\
	parent class type;\
\};\
\
--------------------------------------------------------------------------------------------------------------------------\
\
tropeTreeNode\
\{\
	name\
	vector of tropeTreeNode\
\
	type_type 	return type( );\
	bool 		insertChildAt( index, newChild );\
	bool 		allowChildRemoval( index );\
\
	syntax_type 	syntax_type;\
\};\
\
-------------------------------------------------------------------------------------------------------\
\
CONSTANT : public tropeTreeNode\
name = 5, "hello", 4.345\
return type = BUILT_IN (FLOAT, BOOL, NUMBER, etc)\
syntax type = CONSTANT\
no children\
\
 \
VARIABLE_DECLARATION : public tropeTreeNode\
name = "thing"\
return type = ANY TYPE\
no children\
\
VARIABLE_INSTANCE\
name = name in VARIABLE DECLARATION\
child 0 = reference to VARIABLE DECLARATION\
return type = type of VARIABLE DECLARATION\
\
-------------------------------------------------------------------------------------------------------\
\
\
tropeScope\
\{\
	vector of input values ("this" is default first value)\
	vector of local values (in a specific order)\
	vector of return values\
\};\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
}